﻿using System;

namespace Borg
{
    [SlotDefinition("Borg.CommandInterpreter")]
    public interface ICommandInterpreter
    {
        event EventHandler StateChanged;

        string Execute(string command);
        bool ExecuteAsync(string command);
        string[] GetCommandOptions(ref string cmdStart);

        string Output { get; }
        CommandState State { get; }
    }
}

